[% setvar title The Perl 6 Summary for the week ending 20021201 %]
<div id="archive-notice">
    <h3>This file is part of the Perl 6 Archive</h3>
    <p>To see what is currently happening visit <a href="http://www.perl6.org/">http://www.perl6.org/</a></p>
</div>
<div class='pod'>
<a name='The Perl 6 Summary for the week ending 20021201'></a><h1>The Perl 6 Summary for the week ending 20021201</h1>
<p>Oh look, it's only Monday evening and Piers has started writing this
week's summary. What is the world coming to?</p>
<p>As usual, we start with the internals list.</p>
<a name='C#/Parrot Status'></a><h2>C#/Parrot Status</h2>
<p>During last week's discussion of C# and Parrot, Nicholas Clark
confessed that floating point fills him with fear. Rhys Weatherley
attempted to assure him by saying that C# doesn't require floating
point overflow detection. Dan pointed out that, regardless of C#'s
needs, we'd need overflow detection for our own purposes.</p>
<p>Gopal V posted a <b><i>dotgnu.ops</i></b> file, implementing the conversion ops
that the DotGNU project needs. Leopold T&ouml;tsch dropped unsubtle
hints about the NEED FOR TESTS and did a certain amount of patch
polishing before applying it with added tests. Gopal commented that
Parrot people make it almost too easy. Several other patches to the
ops got added in order to take into account portability to such common
hardware as Crays, PPC and ARM.</p>
<p><a href='http://groups.google.com/groups?threadm=3DE1751F.37C5EDFF@zip.com.au' target='_blank'>groups.google.com</a></p>
<p><a href='http://groups.google.com/groups?threadm=20021125180947.A7838@md3.vsnl.net.in' target='_blank'>groups.google.com</a></p>
<a name='NCI stuff (mostly) done'></a><h2>NCI stuff (mostly) done</h2>
<p>Dan offered a few progress reports on the state of the Native Call
Interface, which is nearing completion, and produced a document on how
to use it (essentially, you edit <b><i>call_types.txt</i></b>). James Mastros
suggested that a good deal of what was in the post should be included
as comments at the top of <b><i>call_types.txt</i></b> and that maybe
<b><i>call_types.txt.</i></b> should be renamed to something like
<b><i>nci_types.txt</i></b>.</p>
<p>Leon Brocard had a go at using this new functionality to call out to
libSDL but had some problems with it needing to have <code>libpthread</code>
loaded.</p>
<p><a href='http://groups.google.com/groups?threadm=a05200f02ba08753d75ab@' target='_blank'>groups.google.com</a>[63.120.19.221]</p>
<p><a href='http://groups.google.com/groups?threadm=a05200f03ba087c070d25@' target='_blank'>groups.google.com</a>[63.120.19.221]</p>
<p><a href='http://groups.google.com/groups?threadm=a05200f05ba088339bced@' target='_blank'>groups.google.com</a>[63.120.19.221]</p>
<a name='Changes to parrot/docs/jit.pod'></a><h2>Changes to <b><i>parrot/docs/jit.pod</i></b></h2>
<p>Leo T&ouml;tsch committed a few changes to the JIT documentation,
which caused Nicholas Clark to wonder why some of the behaviour was as
described. And then my head started hurting. As far as your summarizer
is concerned, JIT is Really Cool Scary Magic that makes it go faster,
so I will continue with my shameless handwaving whenever this topic
comes up. I <i>think</i> this thread had something to do with making sure
that the mapping between parrot registers and hardware registers is
efficient.</p>
<p><a href='http://groups.google.com/groups?threadm=20021126101901.Y51965@plum.flirble.org' target='_blank'>groups.google.com</a></p>
<a name='Befunge-93? No! Befunge-98!'></a><h1>Befunge-93? No! Befunge-98!</h1>
<p>Jerome Quelin wondered if the <b><i>$PARROT/languages/Befunge-93</i></b>
directory could be renamed into <b><i>$PARROT/languages/befunge</i></b> because,
as soon as Parrot supports objects he intends to implement the Befunge
98 specs, and a Befunge 98 interpreter can be used to interpret
Befunge 93 code. Jerome's wish was Robert Spier's Command, and the
directory has now been moved. Nicholas Clark muttered something about
subversion and VMS (where subversion is a CVS replacement which,
amongst other things, allows you to rename directories without causing
confusion.)</p>
<p><a href='http://groups.google.com/groups?threadm=200211281822.56745.jquelin@mongueurs.net' target='_blank'>groups.google.com</a></p>
<a name='This week's patches'></a><h2>This week's patches</h2>
<p>For the first time in quite a while this week, several people gave Leo
T&ouml;tsch a run for his money in `most patches to Parrot' stakes.</p>
<p>Patches to Parrot this week include:</p>
<ul>
<li><a name='More JIT changes: Register usage array, block allocation'></a>More JIT changes: Register usage array, block allocation</li>
<p>Leo has been doing more magic with the JIT system, but Daniel
Grunblatt raised a query about <code>ALLOCATE_REGISTER_ALWAYS</code>.</p>
<li><a name='Config test for i386 fcomip'></a>Config test for i386 fcomip</li>
<p>Leo added a test to see if the fcomip operation is available to the
JIT system.</p>
<li><a name='Use IMCC instead of assemble.pl'></a>Use IMCC instead of assemble.pl</li>
<p>J&uuml;rgen B&ouml;mmels has hacked IMCC to accept normal .pasm
files. This leads to dramatic (350%) speed increases in assembly, but
causes several of the tests to fail because IMCC has no macro
support. J&uuml;rgen intends to add macro support to IMCC if this
approach proves acceptable. Leo liked it a lot, suggesting that, until
IMCC gets native macros it should be possible to use assemble.pl's
preprocessor option to get macro free .pasm files. The patch was
applied.</p>
<li><a name='Introducing debug features in Befunge'></a>Introducing debug features in Befunge</li>
<p>Jerome Quelin patched the Befunge interpreter to add the beginnings
of real debugger support. He threatens a `fully-functional debugger
within the Befunge interpreter with breakpoints, dumping the
playfield, status line and more'. Nicholas Clark was scared, but
applied the patch anyway.</p>
<p>Jerome later supplied a patch adding single stepping, playfield
dumping an a rudimentary UI. If Nicholas Clark was still scared he
didn't show it, and applied the patch.</p>
<li><a name='Replace 'perl' with 'parrot' in the PDDs'></a>Replace 'perl' with 'parrot' in the PDDs</li>
<p>Alin Iacob noticed that, in several places, the PDDs (Parrot Design
Documents) use 'Perl' where they should probably use 'Parrot', and
submitted a patch to fix things.</p>
<li><a name='Long double support in i386/Linux JIT'></a>Long double support in i386/Linux JIT</li>
<p>Leo supplied a patch fixing the `long double issue' in the i386/Linux
JIT core.</p>
</ul>
<p>On rereading that list I see that Leo is still comfortably in the lead
as most prolific patcher. Somehow it didn't seem that way during the
week.</p>
<a name='Multiarray usage'></a><h2>Multiarray usage</h2>
<p>Jerome Quelin wanted to use multiarrays but couldn't understand how
they work, so he asked the list. Leo T&ouml;tsch provided a pile of
answers and a short discussion ensued. I think Jerome chose to use a
PerlArray of PerlArrays in the end. Leo pointed out that multiarrays
come into their own for 'big packed arrays'.</p>
<p><a href='http://groups.google.com/groups?threadm=200211291622.59079.jquelin@mongueurs.net' target='_blank'>groups.google.com</a></p>
<a name='Meanwhile, in perl6-language'></a><h1>Meanwhile, in perl6-language</h1>
<p>By gum but you American chaps take Thanksgiving seriously don't you?
There was grand total of 32 messages in perl6-language this week. I
have the feeling I could just concatenate them and this section would
be no longer than the usual perl6-language summary. But that would be
the wrong kind of Lazy.</p>
<a name='Dynamic Scoping'></a><h2>Dynamic Scoping</h2>
<p>The discussion of Ralph Mellor's proposal about dynamic scoping and
implicit argument passing continued. In response to last week's
summary Ralph clarified that he suggested implicit argument passing as
a way of eliminating globals; the perceived thread safety thing was
beside the point.</p>
<p>Back in the thread (and in a post I discussed last week, my filtering
is obviously confused), Larry provided some clarifications and
suggested extensions to the currying mechanism which would address
some of Ralph's concerns. Ralph responded with a pile of posts and
suggested extending the currying idea still further.</p>
<p><a href='http://groups.google.com/groups?threadm=20021125181919.GA10720@wall.org' target='_blank'>groups.google.com</a></p>
<a name='Status Summary; next steps'></a><h2>Status Summary; next steps</h2>
<p>Michael Lazzaro posted a summary of where the perl6-documentation
people had got to and a list of `next Big Deals'. Bryan C. Warnock
pointed out that almost all of the Big Deals should really be
discussed on perl6-language rather than perl6-documentation and
wondered again about the scope of perl6-documentation and how it
differs from perl6-language. Larry told us that &quot;p6d and p6l just have
different deliverables.  p6l is looking at the elephant from above,
while p6d is looking at the elephant from below.  But it's the same
elephant.  (Unless it's a camel.)&quot;. Larry also addressed the Big
Deals.</p>
<p>Michael also posted his ideas about what the documentation list was
for and where was the appropriate place to discuss things. Bryan
worried that p6d was in danger of trying to go faster than the design
of the language and asked that the documentation list &quot;refrain from
rampant p6l-ish speculation.&quot; He went on to suggest that people be
kind to Piers, which was nice of him. In a later post, he offered
<i>his</i> vision of what the difference between the lists should
be. In another subthread, Garrett Goebel offered his vision too
(obviously a 'vision' week).</p>
<p><a href='http://groups.google.com/groups?threadm=A320A81C-00AB-11D7-9C01-00050245244A@cognitivity.com' target='_blank'>groups.google.com</a></p>
<p><a href='http://groups.google.com/groups?threadm=20021126174742.GC18937@wall.org' target='_blank'>groups.google.com</a> -- Larry's vision</p>
<p><a href='http://groups.google.com/groups?threadm=E8F31882-016D-11D7-ACF7-00050245244A@cognitivity.com' target='_blank'>groups.google.com</a> -- Michael's vision</p>
<p><a href='http://groups.google.com/groups?threadm=1038529348.2257.170.camel@wakko' target='_blank'>groups.google.com</a> -- Bryan's vision</p>
<p><a href='http://groups.google.com/groups?threadm=71BEC0D4E1DED3118F7A009027B12028010BE66A@EXCH_MISSION' target='_blank'>groups.google.com</a> - Garrett's vision</p>
<a name='Just wondering...'></a><h2>Just wondering...</h2>
<p>Piers Cawley pointed out that it's nearly 6 months since the last
Apocalypse, and wondered when we could expect the next one. Larry
reckons it'd be a lot faster if we'd stop asking interesting
questions. Apparently he was planning to have a draft out this week,
but made the mistake of buying the extended Fellowship of the Ring DVD
set, so that was him out of commission for a few days. Hopefully we'll
see something within the next week or so (before Christmas, please...)
but the timing is dependent on whether Gloria's family played games
Larry likes over Thanksgiving. (So far in the current week, Larry
hasn't said whether he played games or did design.) Jonathan Scott
Duff asked for the email addresses of Larry's in-laws so he could ask
them to play the appropriate games.</p>
<p>And this pr&eacute;cis is now almost longer than the original
thread...</p>
<a name='In Brief'></a><h1>In Brief</h1>
<p>Bryan Hundven wondered about writing an entire Operating System on top
of Parrot. At least, I <i>think</i> that's what he wondered about.</p>
<p>Everybody ignored Leon's nabirfuck patch. (You know, I think I may be
misspelling the wrong bit of that...)</p>
<p>The Documentation group finished up their work on numeric literals and
started work on string literals.</p>
<a name='Who's Who in Perl 6?'></a><h1>Who's Who in Perl 6?</h1>
<ul>
<li><a name='Who are you?'></a>Who are you?</li>
<p>Zach Lipton, [zach at zachlipton dot com]</p>
<li><a name='What do you do for/with Perl 6?'></a>What do you do for/with Perl 6?</li>
<p>I'm the maintainer of tinderbox (<a href='http://tinderbox.perl.org' target='_blank'>tinderbox.perl.org</a>) and
percy (the annoying little ircbot on #parrot who tells people when
tinderbox status changes I also attempt to get bonsai to work on
perl.org to make the lives of many others much easier. Occasionally, I
tinker with configure and the testing suite, but rarely get anything
useful to happen.</p>
<li><a name='Where are you coming from?'></a>Where are you coming from?</li>
<p>I'm mostly coming from the Mozilla project where I do a wide amount of
various miscellaneous stuff including working on Bugzilla and
Technology Evangelism (no, not televangelism you may continue your
religion). Oh yes, mustn't forget school, the, erm, uh, um, most
important place where I learn all sorts of interesting things.</p>
<li><a name='When do you think Perl 6 will be released?'></a>When do you think Perl 6 will be released?</li>
<p>What? You mean that there is more to Perl 6 than Parrot?</p>
<li><a name='Why are you doing this?'></a>Why are you doing this?</li>
<p>It's great to be able to help out with such a great project and give
back to the Perl community. Also, it's great experience and just plain
fun.</p>
<li><a name='You have 5 words. Describe yourself.'></a>You have 5 words. Describe yourself.</li>
<p>Um, erm, hi, uh, yea!</p>
<li><a name='Do you have anything to declare?'></a>Do you have anything to declare?</li>
<p>I promise, I will eventually have bonsai completely installed on
perl.org and working correctly!</p>
</ul>
<a name='Acknowledgements'></a><h1>Acknowledgements</h1>
<p>It's been a quiet week this week, presumably because of Thanksgiving,
and I'm writing this on Tuesday morning, still on the train, which has
been very unusual of late.</p>
<p>Proofreading services were once again provided by Aspell and me. Any
errors should be laid at the door of Kevin Atkinson, the author of
Aspell.</p>
<p>I've been seeing a little more mail about Perl 6 this week, including
a set of questionnaire answers from Abigail that I was tempted to push
up to the front of the queue this week, but which I think I'll save
for later. Speaking of the questionnaire, the answer queue currently
contains only three posts, so if you'd like to answer the questions
Zach just answered and send them to me at mailto:<a href='mailto:5Ws@bofh.org.uk'>5Ws@bofh.org.uk</a>
I'd be grateful.</p>
<p>Several people have pointed out that my autogenerated URLs for
messages in perl6-documentation don't actually work. Apparently google
isn't yet picking that group up, so this week I don't provide any
links to messages in the documentation list. It's my understanding
that, as they produce final docs these will be available from some
fixed website, yet to be decided on. Once that's set up I'll start
linking to that.</p>
<p>Time for the chorus again:</p>
<p>If you didn't like this summary, what are you doing still reading it?
If you did like it, please consider one or both of the following
options:</p>
<ul>
<li><a name='Send money to the Perl Foundation at donate.perl-foundation.org/ and help support the ongoing development of Perl 6.'></a>Send money to the Perl Foundation at
<a href='http://donate.perl-foundation.org/' target='_blank'>donate.perl-foundation.org</a> and help support the ongoing
development of Perl 6.</li>
<li><a name='Send feedback, flames, money and/or a trip to Japan to mailto:<a href='mailto:pdcawley@bofh.org.uk.'>pdcawley@bofh.org.uk.</a>'></a>Send feedback, flames, money and/or a trip to Japan to
mailto:<a href='mailto:pdcawley@bofh.org.uk.'>pdcawley@bofh.org.uk.</a></li>
</ul>
<p>The fee paid for publication of these summaries on perl.com is paid
directly to the Perl Foundation.</p>
</div>
